package com.ruoyi.finance.rules.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 用户表
 * </p>
 *
 * @author wangmh
 * @since 2023-09-21
 */
@TableName("sz_user")
@ApiModel(value = "SzUser对象", description = "用户表")
public class SzUser implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键")
    @TableId("id")
    private Long id;

    @ApiModelProperty("会员表主键")
    @TableField("member_id")
    private Long memberId;

    @Excel(name = "昵称")
    @ApiModelProperty("昵称")
    @TableField("nickname")
    private String nickname;

    @Excel(name = "手机号")
    @ApiModelProperty("手机号")
    @TableField("phone")
    private String phone;

    @ApiModelProperty("登录密码")
    @TableField("password")
    private String password;

    @ApiModelProperty("身份证号")
    @TableField("id_number")
    private String idNumber;

    @ApiModelProperty("头像地址")
    @TableField("avatar")
    private String avatar;

    @Excel(name = "账号类型")
    @ApiModelProperty("账号类型")
    @TableField("account_type")
    private String accountType;

    @ApiModelProperty("近登录时间")
    @TableField("last_login_time")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime lastLoginTime;

    @ApiModelProperty("最近登录ip")
    @TableField("last_login_ip")
    private String lastLoginIp;

    @ApiModelProperty("最近密码修改时间")
    @TableField("last_update_password")
    private LocalDateTime lastUpdatePassword;

    @ApiModelProperty("注册时间")
    @TableField("register_time")
    private LocalDateTime registerTime;

    @ApiModelProperty("是否参与过充值")
    @TableField("recharge")
    private String recharge;

    @ApiModelProperty("每月提现额度(福利板块)")
    @TableField("withdrawal_limit_month")
    private BigDecimal withdrawalLimitMonth;

    @ApiModelProperty("VIP等级_主键(福利板块)")
    @TableField("vip")
    private Long vip;

    @ApiModelProperty("基础金币余额")
    @TableField("base_gold_balance")
    private BigDecimal baseGoldBalance;

    @ApiModelProperty("福利金币余额")
    @TableField("welfare_gold_balance")
    private BigDecimal welfareGoldBalance;

    @ApiModelProperty("福利可提现人民币余额")
    @TableField("welfare_withdrawal_balance")
    private BigDecimal welfareWithdrawalBalance;

    @ApiModelProperty("用户邀请码")
    @TableField("invitation_code")
    private String invitationCode;

    @ApiModelProperty("用户上级的邀请码	用户上级邀请码")
    @TableField("invitation_parent")
    private String invitationParent;

    @Excel(name = "钱包余额")
    @ApiModelProperty("数字直播-钱包余额")
    @TableField("sz_wallet_balance")
    private BigDecimal szWalletBalance;

    @Excel(name = "提现钱包余额")
    @ApiModelProperty("数字直播-提现钱包余额")
    @TableField("sz_withdrawal_balance")
    private BigDecimal szWithdrawalBalance;

    @Excel(name = "团队奖励累计收益")
    @ApiModelProperty("数字直播-钱包细明-团队奖励累计")
    @TableField("sz_team_reward")
    private BigDecimal szTeamReward;

    @Excel(name = "极差奖励累计收益")
    @ApiModelProperty("数字直播-钱包细明-极差奖励累计")
    @TableField("sz_range_reward")
    private BigDecimal szRangeReward;

    @Excel(name = "平级奖励累计收益")
    @ApiModelProperty("数字直播-钱包细明-平级累计累计")
    @TableField("sz_lateral_reward")
    private BigDecimal szLateralReward;

    @Excel(name = "复购奖励累计收益")
    @ApiModelProperty("数字直播-钱包细明-复购奖励累计")
    @TableField("sz_repeatbuy_reword")
    private BigDecimal szRepeatbuyReword;

    @ApiModelProperty("数字直播-代理等级id")
    @TableField("sz_agency")
    private Long szAgency;

    @Excel(name = "代理等级")
    @ApiModelProperty("数字直播-代理等级")
    @TableField(exist = false)
    private String szAgencyName;

    @Excel(name = "可用能量值")
    @ApiModelProperty("数字直播-能量值")
    @TableField("sz_energy")
    private BigDecimal szEnergy;

    @ApiModelProperty("数字直播-开启时间")
    @TableField("sz_enable_time")
    private LocalDateTime szEnableTime;

    @ApiModelProperty("是否购买数字直播id")
    @TableField("sz_enable")
    private String szEnable;

    @ApiModelProperty("是否购买数字直播")
    @TableField(exist = false)
    private String szEnableName;

    @Excel(name = "购买次数")
    @ApiModelProperty("购买次数")
    @TableField(exist = false)
    private String enableCount;

    @ApiModelProperty("提前钱包-支付密码")
    @TableField("payment_password")
    private String paymentPassword;

    @ApiModelProperty("代金卷余额")
    @TableField("voucher")
    private BigDecimal voucher;

    @ApiModelProperty("验证码")
    @TableField(exist = false)
    private String verificationCode;

    @ApiModelProperty("确认密码")
    @TableField(exist = false)
    private String confirmPassword;

    @ApiModelProperty("是否注销")
    @TableField("isSignOut")
    private String isSignOut;

    @ApiModelProperty("数字直播是否冻结")
    @TableField("isFrozen")
    private String isFrozen;

    @TableField(exist = false)
    private String frozenName;

    @TableField(exist = false)
    private String signOutName;

    @ApiModelProperty("注销时间")
    @TableField("signOutTime")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime signOutTime;

    @ApiModelProperty("冻结时间")
    @TableField("frozenTime")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime frozenTime;


    @ApiModelProperty("逻辑删除")
    @TableField("deleteFlag")
    private String deleteFlag;

    @ApiModelProperty("删除时间")
    @TableField("deleteTime")
    private LocalDateTime deleteTime;

    @ApiModelProperty("剩余抵扣金额")
    @TableField("deduction_amount")
    private BigDecimal deductionAmount;

    @ApiModelProperty("是否冻结资产")
    @TableField("is_frozen_assets")
    private String isFrozenAssets;

    @ApiModelProperty("冻结金额")
    @TableField("frozen_account")
    private BigDecimal frozenAccount;

    @ApiModelProperty("待激活余额")
    @TableField("pendingActivationBalance")
    private BigDecimal pendingActivationBalance;


    public BigDecimal getPendingActivationBalance() {
        return pendingActivationBalance;
    }

    public void setPendingActivationBalance(BigDecimal pendingActivationBalance) {
        this.pendingActivationBalance = pendingActivationBalance;
    }

    public String getIsFrozenAssets() {
        return isFrozenAssets;
    }

    public void setIsFrozenAssets(String isFrozenAssets) {
        this.isFrozenAssets = isFrozenAssets;
    }

    public BigDecimal getFrozenAccount() {
        return frozenAccount;
    }

    public void setFrozenAccount(BigDecimal frozenAccount) {
        this.frozenAccount = frozenAccount;
    }

    public BigDecimal getDeductionAmount() {
        return deductionAmount;
    }

    public void setDeductionAmount(BigDecimal deductionAmount) {
        this.deductionAmount = deductionAmount;
    }

    public LocalDateTime getDeleteTime() {
        return deleteTime;
    }

    public void setDeleteTime(LocalDateTime deleteTime) {
        this.deleteTime = deleteTime;
    }

    public String getDeleteFlag() {
        return deleteFlag;
    }

    public void setDeleteFlag(String deleteFlag) {
        this.deleteFlag = deleteFlag;
    }

    public String getSignOutName() {
        return signOutName;
    }

    public void setSignOutName(String signOutName) {
        this.signOutName = signOutName;
    }

    public String getFrozenName() {
        return frozenName;
    }

    public void setFrozenName(String frozenName) {
        this.frozenName = frozenName;
    }

    public String getIsSignOut() {
        return isSignOut;
    }

    public void setIsSignOut(String isSignOut) {
        this.isSignOut = isSignOut;
    }

    public String getIsFrozen() {
        return isFrozen;
    }

    public void setIsFrozen(String isFrozen) {
        this.isFrozen = isFrozen;
    }

    public LocalDateTime getSignOutTime() {
        return signOutTime;
    }

    public void setSignOutTime(LocalDateTime signOutTime) {
        this.signOutTime = signOutTime;
    }

    public LocalDateTime getFrozenTime() {
        return frozenTime;
    }

    public void setFrozenTime(LocalDateTime frozenTime) {
        this.frozenTime = frozenTime;
    }

    public BigDecimal getVoucher() {
        return voucher;
    }

    public void setVoucher(BigDecimal voucher) {
        this.voucher = voucher;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getVerificationCode() {
        return verificationCode;
    }

    public void setVerificationCode(String verificationCode) {
        this.verificationCode = verificationCode;
    }

    public String getConfirmPassword() {
        return confirmPassword;
    }

    public void setConfirmPassword(String confirmPassword) {
        this.confirmPassword = confirmPassword;
    }

    public String getPaymentPassword() {
        return paymentPassword;
    }

    public void setPaymentPassword(String paymentPassword) {
        this.paymentPassword = paymentPassword;
    }

    public Long getSzAgency() {
        return szAgency;
    }

    public void setSzAgency(Long szAgency) {
        this.szAgency = szAgency;
    }

    public String getSzAgencyName() {
        return szAgencyName;
    }

    public void setSzAgencyName(String szAgencyName) {
        this.szAgencyName = szAgencyName;
    }

    public LocalDateTime getSzEnableTime() {
        return szEnableTime;
    }

    public void setSzEnableTime(LocalDateTime szEnableTime) {
        this.szEnableTime = szEnableTime;
    }

    public String getSzEnableName() {
        return szEnableName;
    }

    public void setSzEnableName(String szEnableName) {
        this.szEnableName = szEnableName;
    }

    public String getEnableCount() {
        return enableCount;
    }

    public void setEnableCount(String enableCount) {
        this.enableCount = enableCount;
    }


    public String getSzEnable() {
        return szEnable;
    }

    public void setSzEnable(String szEnable) {
        this.szEnable = szEnable;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }
    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }
    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String getIdNumber() {
        return idNumber;
    }

    public void setIdNumber(String idNumber) {
        this.idNumber = idNumber;
    }
    public String getAccountType() {
        return accountType;
    }

    public void setAccountType(String accountType) {
        this.accountType = accountType;
    }
    public LocalDateTime getLastLoginTime() {
        return lastLoginTime;
    }

    public void setLastLoginTime(LocalDateTime lastLoginTime) {
        this.lastLoginTime = lastLoginTime;
    }

    public String getLastLoginIp() {
        return lastLoginIp;
    }

    public void setLastLoginIp(String lastLoginIp) {
        this.lastLoginIp = lastLoginIp;
    }

    public LocalDateTime getLastUpdatePassword() {
        return lastUpdatePassword;
    }

    public void setLastUpdatePassword(LocalDateTime lastUpdatePassword) {
        this.lastUpdatePassword = lastUpdatePassword;
    }
    public LocalDateTime getRegisterTime() {
        return registerTime;
    }

    public void setRegisterTime(LocalDateTime registerTime) {
        this.registerTime = registerTime;
    }
    public String getRecharge() {
        return recharge;
    }

    public void setRecharge(String recharge) {
        this.recharge = recharge;
    }
    public BigDecimal getWithdrawalLimitMonth() {
        return withdrawalLimitMonth;
    }

    public void setWithdrawalLimitMonth(BigDecimal withdrawalLimitMonth) {
        this.withdrawalLimitMonth = withdrawalLimitMonth;
    }
    public Long getVip() {
        return vip;
    }

    public void setVip(Long vip) {
        this.vip = vip;
    }
    public BigDecimal getBaseGoldBalance() {
        return baseGoldBalance;
    }

    public void setBaseGoldBalance(BigDecimal baseGoldBalance) {
        this.baseGoldBalance = baseGoldBalance;
    }
    public BigDecimal getWelfareGoldBalance() {
        return welfareGoldBalance;
    }

    public void setWelfareGoldBalance(BigDecimal welfareGoldBalance) {
        this.welfareGoldBalance = welfareGoldBalance;
    }
    public BigDecimal getWelfareWithdrawalBalance() {
        return welfareWithdrawalBalance;
    }

    public void setWelfareWithdrawalBalance(BigDecimal welfareWithdrawalBalance) {
        this.welfareWithdrawalBalance = welfareWithdrawalBalance;
    }
    public String getInvitationCode() {
        return invitationCode;
    }

    public void setInvitationCode(String invitationCode) {
        this.invitationCode = invitationCode;
    }
    public String getInvitationParent() {
        return invitationParent;
    }

    public void setInvitationParent(String invitationParent) {
        this.invitationParent = invitationParent;
    }
    public BigDecimal getSzWalletBalance() {
        return szWalletBalance;
    }

    public void setSzWalletBalance(BigDecimal szWalletBalance) {
        this.szWalletBalance = szWalletBalance;
    }
    public BigDecimal getSzWithdrawalBalance() {
        return szWithdrawalBalance;
    }

    public void setSzWithdrawalBalance(BigDecimal szWithdrawalBalance) {
        this.szWithdrawalBalance = szWithdrawalBalance;
    }
    public BigDecimal getSzTeamReward() {
        return szTeamReward;
    }

    public void setSzTeamReward(BigDecimal szTeamReward) {
        this.szTeamReward = szTeamReward;
    }
    public BigDecimal getSzRangeReward() {
        return szRangeReward;
    }

    public void setSzRangeReward(BigDecimal szRangeReward) {
        this.szRangeReward = szRangeReward;
    }
    public BigDecimal getSzLateralReward() {
        return szLateralReward;
    }

    public void setSzLateralReward(BigDecimal szLateralReward) {
        this.szLateralReward = szLateralReward;
    }
    public BigDecimal getSzRepeatbuyReword() {
        return szRepeatbuyReword;
    }

    public void setSzRepeatbuyReword(BigDecimal szRepeatbuyReword) {
        this.szRepeatbuyReword = szRepeatbuyReword;
    }

    public BigDecimal getSzEnergy() {
        return szEnergy;
    }

    public void setSzEnergy(BigDecimal szEnergy) {
        this.szEnergy = szEnergy;
    }

    @Override
    public String toString() {
        return "SzUser{" +
            "id=" + id +
            ", memberId=" + memberId +
            ", nickname=" + nickname +
            ", phone=" + phone +
            ", idNumber=" + idNumber +
            ", accountType=" + accountType +
            ", lastLoginTime=" + lastLoginTime +
            ", lastLoginIp=" + lastLoginIp +
            ", lastUpdatePassword=" + lastUpdatePassword +
            ", registerTime=" + registerTime +
            ", recharge=" + recharge +
            ", withdrawalLimitMonth=" + withdrawalLimitMonth +
            ", vip=" + vip +
            ", baseGoldBalance=" + baseGoldBalance +
            ", welfareGoldBalance=" + welfareGoldBalance +
            ", welfareWithdrawalBalance=" + welfareWithdrawalBalance +
            ", invitationCode=" + invitationCode +
            ", invitationParent=" + invitationParent +
            ", szWalletBalance=" + szWalletBalance +
            ", szWithdrawalBalance=" + szWithdrawalBalance +
            ", szTeamReward=" + szTeamReward +
            ", szRangeReward=" + szRangeReward +
            ", szLateralReward=" + szLateralReward +
            ", szRepeatbuyReword=" + szRepeatbuyReword +
            ", szAgency=" + szAgency +
            ", szEnergy=" + szEnergy +
        "}";
    }
}
